package schema

import "strings"

type SchemaGetConfResult struct {
	RequestId            string      `json:"requestId"`
	CommitId             string      `json:"commitId"`
	PublishUnit          interface{} `json:"publishUnit"`
	ConfigDataEntityList []ConfigDataEntity `json:"configDataEntityList"`
	PublishTime     int64  `json:"publishTime"`
	PublicEventType string `json:"publicEventType"`
}

type ConfigDataEntity struct {
	DataId      string   `json:"dataId"`
	Description string   `json:"description"`
	Parents     []string `json:"parents"`
	ConfigScope string   `json:"configScope"`
	ConfigData  struct {
		ConfigDataType string `json:"configDataType"`
		ConfigName     string `json:"configName"`
		ConfigPath     string `json:"configPath"`
		ContentType    string `json:"contentType"`
		ContentData    string `json:"contentData"`
		ContentMd5     string `json:"contentMd5"`
		ViewType       string `json:"viewType"`
		ViewData       string `json:"viewData"`  // 模板替换后的真实数据
		ViewMd5        string `json:"viewMd5"`
	}
}

type SchemaGetAgentConf struct {
	UnitIds []AgentConf `json:"configUnitInfos"`
}

type AgentConf struct {
	Hostname string	`json:"unitId"`
	ConfList []struct{
		ConfigName     string `json:"config_name"`
		ConfigPath     string `json:"config_path"`
		ContentData    string `json:"content_data"`
	} 	`json:"conf_list"`
	Msg string 		`json:"msg"`
	ErrMsg string `json:"err_msg"`
}

func (sc *AgentConf)DD(){}

type SchemaControlAvoms struct{
	Hostname string `json:"hostname" binding:"required"`
	Action uint `json:"action" binding:"required"`  // 0 关闭 1 开启 2 状态查询
	Data interface{} `json:"data"`
	Status string `json:"status"`
	Result string `json:"result"`
	SimuId string `json:"simuid"`
}

func (sc *SchemaControlAvoms)DD(){}

type SchemaDingDong struct{
	UnitIds []string  `json:"configUnitInfos"`
}

func GetService(u string)string{
	s:=strings.Split(u,".")
	if len(s)>=2{
		return s[0]
	}
	return ""
}
func GetHostname(u string)string{
	s:=strings.SplitN(u,".",2)
	if len(s)==2{
		return s[1]
	}
	return ""
}